/*
 * Problem:
 * Bit Rotation 位旋转
 * A rotation (or circular shift) is an operation similar to shift except that the bits that fall off at one end are put back to the other end.
 * 旋转(或者循环移位)是一种类似于移位的操作，不同的是在一端脱落的位会被放回到另一端。
 * In left rotation, the bits that fall off at left end are put back at right end.
 * 在左旋转中，在左端脱落的为会被放回到右端。
 * Let n is stored using 8 bits.
 * 假设n用8位存储。
 * Left rotation of n = 11100101 by 3 makes n = 00101111 (Left shifted by 3 and first 3 bits are put back in last).
 * n = 11100101左循环三位得到n = 00101111(左移三位并且前三位被放回到最后)
 * If n is stored using 16 bits or 32 bits then left rotation of n (000…11100101) becomes 00..0011100101000.
 * 如果n用16位或者32位存储，那么n (000…11100101)左循环三位得到n (00..0011100101000).
 * In this problem, you can assume that n was stored in 32 Bits
 * 在此问题中，你可以假定n用32位存储。
 * 
 * Example:
 * Given n = 123, d = 4
 * return 183
 * 
 * Challenge:
 * Rotate in-place with O(1) extra memory.
 * 在O(1)的空间复杂度内旋转字符串
 */
package me.yobol.lintcode.medium.leftrotatebits;

/**
 *
 * @author Yobol
 */
public interface ILeftRotateBits {
    public int leftRotate(int n,int d);
}
